package yl.hs.bmipfull.daos.finance;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import yl.hs.bmipfull.daos.BaseDao;
import yl.hs.bmipfull.pojo.finance.ShipFreightSettleMainEntity;
import yl.hs.bmipfull.pojo.finance.ShipSettleMainEntity;
import yl.hs.bmipfull.pojo.production.ProductShipOrderEntity;
import yl.hs.bmipfull.pojo.system.UserInfoEntity;

import java.util.List;
import java.util.Map;

/*
 * IShipFreightSettleDao
 * @category
 * @author 谢景广
 * @date 2022-08-03
 */
@Repository
public interface IShipFreightSettleMainDao extends BaseDao<ShipFreightSettleMainEntity> {

    Integer queryCountByCondition(@Param("map")Map<String, Object> query, List<Map<String, Object>> filters);

    List<ShipFreightSettleMainEntity> queryPage(@Param("map")Map<String, Object> query, List<Map<String, Object>> filters);

    List<ProductShipOrderEntity> queryTempSettleOrders(@Param("map")Map<String, Object> searchQuery,List<Map<String, Object>> filters);

    List<UserInfoEntity> querySettleDrivers(@Param("map") Map<String, Object> searchQuery,List<Map<String, Object>> filters);

    List<ShipFreightSettleMainEntity> queryDriverSettleLast(@Param("map")Map<String, Object> searchQuery,List<Map<String, Object>> filters);

    Integer deleteBySettleSN(String settleSN);

    Integer changeOrderToUnSettle(String settleSN);

    List<ProductShipOrderEntity> querySettleOrdersBySettleSN(String settleSN);

    Integer changeOrderToSettled(String settleSN);
}
